import Vue from 'vue'
import Vuex from 'vuex'

// 导入本地存储的方法
import * as auth from '../utils/auth'

Vue.use(Vuex)

// console.log('初始化vuex!')

/**
 * 步骤：
 * 为了保障登录后token一直存在，要结合本地存储在vuex中管理token！！！
 * 1. 定义存储token的字段=》state
 * 2. 定义修改token的方法=> mutations
 */
export default new Vuex.Store({
  state: {
    // user:{token:token, refresh_token:refresh_token}
    user: auth.getToken() || {}
  },
  mutations: {
    // 使用vuex和localStorage存储token=>调用者=》login组件
    setToken (state, payload) {
      state.user = payload
      // 本地存储一份token
      auth.setToken(payload)
    },
    // 删除token
    delToken (state) {
      state.user = {}
      // 本地删除token
      auth.delToken()
    }
  }
})
